package com.winchain.chainbill.receivables.biz.query.controller;

import com.shell.bee.base.annotation.Logging;
import com.shell.bee.base.utils.StringUtil;
import com.shell.bee.mvc.controller.BaseController;
import com.shell.bee.persistence.model.PageLimit;
import com.winchain.chainbill.receivables.base.po.ArRecord;
import com.winchain.chainbill.receivables.biz.query.service.ReceivablesQueryService;
import com.winchain.chainbill.receivables.biz.query.vo.ArRecordQueryVo;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ReceivablesQueryController extends BaseController {
	@Autowired
	ReceivablesQueryService receivablesQueryService;

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "����������������������")
	public List<ArRecord> selectRecordForImptRev(PageLimit Limit, ArRecordQueryVo arRecord) {
		return this.receivablesQueryService.selectRecordForImptRev(Limit, arRecord);
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "����������������")
	public ArRecord selectRecord(String arId) {
		return this.receivablesQueryService.selectRecord(arId);
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "������������������������")
	public List<ArRecord> selectRecordForMod(PageLimit Limit, ArRecordQueryVo arRecord) {
		List<ArRecord> list = this.receivablesQueryService.selectRecordForMod(Limit, arRecord);
		return list;
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "����������������������������")
	public List<ArRecord> selectRecordForModRev(PageLimit Limit, ArRecordQueryVo arRecord) {
		List<ArRecord> list = this.receivablesQueryService.selectRecordForModRev(Limit, arRecord);
		return list;
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "��������������������")
	public ArRecord selectRecordMod(String arId, String modId) {
		if ((StringUtil.emptyAndNull(arId)) || (StringUtil.emptyAndNull(modId))) {
			return null;
		}
		return this.receivablesQueryService.selectRecordMod(arId, modId);
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "����������������������������")
	public List<ArRecord> selectRecordForModAprv(PageLimit Limit, ArRecordQueryVo arRecord) {
		List<ArRecord> list = this.receivablesQueryService.selectRecordForModAprv(Limit, arRecord);
		return list;
	}
}
